Dolphin Store
Store is the version control system for VisualWorks. It uses a database to store methods and classes. Dolphin Store allows Dolphin to load bundles and packages from a VisualWorks Store repository.
Download
To use Dolphin Store, you will need to download Glorp, SmaCC and also the Dolphin Store packages.
Package | Description |
Store-Database Model | This package contains the Glorp data model for Store. It was ported from the VisualWorks 7.7 package. |
Dolphin Store | This package contains the code that can load code from the Store-Database Model. |
Usage
To use the Dolphin Store packages, you will first need to setup an ODBC connection to the data source. If you wish to connection to the Cincom public repository, you will need to install the PostgreSQL ODBC driver. Once the PostgreSQL driver is installed, you will need to install a DSN with Database=store_public, Server=store.cincomsmalltalk.com, User Name=guest, Password=guest. You will also need to change the Datasource options: check the "Unknown as LongVarChar" option and make the Max LongVarChar be something like 100000.
Once you have loaded the Dolphin Store package, you should have a "Dolphin Store" icon in the System Folder. You should be able to open the icon and login to your data source.
The pane on the left displays the bundles and packages that are in the repository. Bundles are displayed in bold text and packages in normal text. Selecting a bundle or package (pundle) displays the versions in the list at the top right. The text at the bottom right is the pundle's comment.
Both the pundle and version lists have pop up menus. The inspect options simply open an inspector on the Glorp database objects. The version list also allows you to load the version or inspect the refactoring change objects that would be executed if you performed a load. You can also load or inspect changes using a porting script. Porting scripts allow you to make some changes to the code as it is loaded so that it will work in Dolphin.
Bugs
I've used the help port SmaCC and Glorp to Dolphin. I haven't used it for much else so there are likely several bugs. These are some of the bugs that I do know about:
- It isn't possible to load the bundle or package properties since these are stored in the VisualWorks binary object storage (BOSS) format. As a result, we aren't able to load post load actions, copyright notices, etc. from a package.
- Compiling a class with a missing superclass can cause walkbacks. In these cases you will need to create a porting script to change the superclass to one that Dolphin already defines or manually create the class in Dolphin before compiling.
- Methods with compile errors aren't created. You'll need to look for errors in the transcript. You can using a porting script to fix these errors when loading.
- Reloading a class where an instance variable is currently defined in a subclass fails. You will need to remove the subclass' variable before reloading.
- Reloading a bundle when a method has moved from one package to another may remove the method from Dolphin. If you load the bundle twice, the method should be loaded correctly.
If you know of other bugs you can email me.